package com.li.utlis;

import com.li.domain.Menu;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

public class MenuUtil {

    /**
     * 递归菜单
     * @param menuList
     * @return
     */
    public static List<Menu> recursion(List<Menu> menuList){
        List<Menu> menus=new ArrayList();
        //BeanUtils.copyProperties(a,b);
        for (Menu menu:menuList){//如果是顶级节点
            if (menu.getParentId()==0 || menu.getParentId()==null){
                menus.add(menu);
            }else{//如果不是顶级节点
                boolean flag=true;
                for (Menu m:menuList){//查找他的父级节点
                    if (m.getMenuId()==menu.getParentId()){
                        if (m.getMenus()==null){
                            m.setMenus(new ArrayList<Menu>());
                        }
                        m.getMenus().add(menu);
                        flag=false;
                    }
                }
                //如果到最后都没有查找到
                if (flag){
                    menus.add(menu);
                }
            }
        }
        return menus;
    }
}
